/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.foxinline.manager.editar;

import br.com.foxinline.enums.Nacionalidade;
import br.com.foxinline.enums.RacaCor;
import br.com.foxinline.enums.Sexo;
import br.com.foxinline.enums.SituacaoConjugal;
import br.com.foxinline.modelo.Cidadao;
import br.com.foxinline.servico.CidadaoServico;
import br.com.foxinline.utilitario.Caracter;
import br.com.foxinline.utilitario.Msg;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;
import javax.faces.model.SelectItem;

/**
 *
 * @author ely
 */
@ManagedBean
@ViewScoped
public class ManagerEditarCidadao {
    
    @EJB
    CidadaoServico  cidadaoServico;
    private Cidadao cidadaoEditar;
    private Cidadao cidadaoVisualizar;
    private String  editarCidadao;
    private String  visualizarCidadao;
    
    @PostConstruct
    public void init() {
        cidadaoEditar = new Cidadao();
        cidadaoVisualizar = new Cidadao();
        
        Map<String, String> params = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap();
        editarCidadao     = params.get("editarCidadao");
        visualizarCidadao = params.get("visualizarCidadao");
        paramPost();
        
    }
    
      public void atualizar() {
        try {
            cidadaoEditar.setCpf(Caracter.removecaracter(cidadaoEditar.getCpf()));
            cidadaoServico.atualizar(cidadaoEditar);
            Msg.messagemInfo(Msg.SuccessFull);
           
        } catch (Exception erro) {
        }
    }
    
    public void paramPost() {
        try {
            if (editarCidadao != null) {
                cidadaoEditar = cidadaoServico.pesquisar(Long.parseLong(editarCidadao));
            }            
            if (visualizarCidadao != null) {
                cidadaoVisualizar = cidadaoServico.pesquisar(Long.parseLong(visualizarCidadao));
            }            
            
        } catch (Exception erro) {
            erro.printStackTrace();
        }
    }
    
    public List<SelectItem> sexo() {
        List<SelectItem> items = new ArrayList<SelectItem>();
        for (Sexo tipo : Sexo.values()) {
            items.add(new SelectItem(tipo, tipo.getNome()));
        }
        return items;
    }
    
    public List<SelectItem> racaCor() {
        List<SelectItem> items = new ArrayList<SelectItem>();
        for (RacaCor tipo : RacaCor.values()) {
            items.add(new SelectItem(tipo, tipo.getNome()));
        }
        return items;
    }
    
     public List<SelectItem> situacaoConjugal() {
        List<SelectItem> items = new ArrayList<SelectItem>();
        for (SituacaoConjugal tipo : SituacaoConjugal.values()) {
            items.add(new SelectItem(tipo, tipo.getNome()));
        }
        return items;
    }
    
    public List<SelectItem> nacionalidade() {
        List<SelectItem> items = new ArrayList<SelectItem>();
        for (Nacionalidade tipo : Nacionalidade.values()) {
            items.add(new SelectItem(tipo, tipo.getNome()));
        }
        return items;
    }
    
    public Cidadao getCidadaoEditar() {
        return cidadaoEditar;
    }
    
    public void setCidadaoEditar(Cidadao cidadaoEditar) {
        this.cidadaoEditar = cidadaoEditar;
    }
    
    public Cidadao getCidadaoVisualizar() {
        return cidadaoVisualizar;
    }
    
    public void setCidadaoVisualizar(Cidadao cidadaoVisualizar) {
        this.cidadaoVisualizar = cidadaoVisualizar;
    }
}
